package com.colorful.exceldemo.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.colorful.exceldemo.annotation.ExcelSelected;
import com.colorful.exceldemo.toolkit.excel.SourceMap;
import com.colorful.exceldemo.toolkit.excel.impl.*;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.io.Serializable;

/**
 * @author kang junjie
 * @date 2022/6/2 14:20
 */
@Data
@ApiModel("建筑导出")
public class BuildingExport implements Serializable {

    @ColumnWidth(20)
    @ExcelProperty(value = {"所属范围"}, index = 0)
    private String scope;
    @ColumnWidth(20)
    @ExcelProperty(value = {"建筑物名称"}, index = 1)
    private String name;
    @ColumnWidth(20)
    @ExcelProperty(value = {"设计使用年限(年)"}, index = 2)
    private String yearLimit;
    @ColumnWidth(20)
    @ExcelProperty(value = {"耐火等级"}, index = 3)
    private String fireRating;
    @ColumnWidth(20)
    @ExcelProperty(value = {"防水等级"}, index = 4)
    private String waterproofLevel;
    @ColumnWidth(20)
    @ExcelProperty(value = {"抗震设防强度"}, index = 5)
    private String seismicGrade;
    @ColumnWidth(20)
    @ExcelProperty(value = {"建筑防火分类"}, index = 6)
    private String fireClassify;
    @ColumnWidth(20)
    @ExcelProperty(value = {"建筑高度"}, index = 7)
    private String height;
    @ColumnWidth(20)
    @ExcelProperty(value = {"结构形式"}, index = 8)
    private String structureType;
    @ColumnWidth(20)
    @ExcelProperty(value = {"项目规模"}, index = 9)
    private String description;
    @ColumnWidth(20)
    @ExcelProperty(value = {"质保期限"}, index = 10)
    private String warranty;
    @ColumnWidth(20)
    @ExcelProperty(value = {"质保期限描述"}, index = 11)
    private String warrantyDesc;
    @ColumnWidth(20)
    @ExcelProperty(value = {"暖通专业附属设施"}, index = 12)
    private String hvacInstallation;
    @ColumnWidth(20)
    @ExcelProperty(value = {"强电专业附属设施"}, index = 13)
    private String electricInstallation;
    @ColumnWidth(20)
    @ExcelProperty(value = {"给排水专业附属设施"}, index = 14)
    private String dfInstallation;
    @ColumnWidth(20)
    @ExcelProperty(value = {"备注说明"}, index = 15)
    private String remarks;
    @ColumnWidth(20)
    @ExcelProperty(value = {"管理人员"}, index = 16)
    @ExcelSelected(sourceClass = ManageUserSelectImpl.class)
    private String manageUserName;
    @ColumnWidth(20)
    @ExcelProperty(value = {"管理部门"}, index = 17)
    @ExcelSelected(sourceMap = SourceMap.class, sourceClass = ManageDeptSelectImpl.class, ref = 16)
    private String manageUserDeptName;
    @ColumnWidth(20)
    @ExcelProperty(value = {"移交人员"}, index = 18)
    private String recipientName;
    @ColumnWidth(20)
    @ExcelProperty(value = {"移交日期"}, index = 19)
    private String turnOverTime;


}
